Each node in a multi-nodal network must maintain a consistent view of the network's topology in order to enable inter-nodal communications. Further, the topology observed by each node must be able to be updated, when a topology change occurs, such as when a node fails or a node or link is either added to or subtracted from the network.
The prior art has suggested various methods for enabling nodes in a multi-nodal network to maintain knowledge of the network's topology. U.S. Pat. No. 4,914,571 to Baratz et al. describes a multi-node system wherein a requesting node first determines which resources reside within itself and then, if desired resources are not found, searches resources that are known to a server node which reside elsewhere in the network. The search then continues (if the requested resource is not found)) to all associated nodes, etc.
U.S. Pat. No. 4,987,536 to Humblet provides a system for determining a shortest path from a starting node to a destination node. The system enables each node to form a routing tree and to communicate that routing tree to each adjacent node. Modifications to the routing tree are then made in accordance with information from adjacent nodes.
U.S. Pat. No. 5,049,873 to Robins et al. describes a system for gathering status information regarding a communications network, wherein a monitor node maintains topology data for the network. A method for updating the topology information is described.
U.S. Pat. No. 5,051,987 to Conlin describes a multi-node network wherein each node accesses information relating to a then-current network topology and transmits a message with respect thereto through appropriate connecting links. During an update state, each node interrogates each neighboring node regarding nodes which neighbor it. The process continues until all nodes have returned information regarding their neighboring nodes, thus enabling each node's topology to be updated.
Coan et al. in U.S. Pat. No. 5,093,824 describes a multi-nodal network wherein each node stores a precomputed configuration table that corresponds to each of a plurality of possible network topologies which can result from a number of possible failure events. When such a failure event occurs, the precomputed configuration corresponding to the failure event is accessed and used for intra-node communication control.
In general, the above-noted prior art requires that each node have at least some information regarding immediate neighbor nodes and, in certain instances, requires a pre-loading of initial topology information from a centralized source.
In U.S. patent application Ser. No. 08/531,724 to Liang et al. (assigned to the same Assignee as this Application), each node in a multi-node network determines network topology without having previous information as to the topology. The procedure employed by the Liang et al. system comprises three phases:
1. Self-positioning--each node determines what connections exist to its immediate neighbor nodes, if any. Based on message exchanges during this phase, a node constructs an entry about itself in an otherwise empty topology table within the node. PA1 2. Connecting--each node tells other nodes in the network about itself, and conversely, finds out what other nodes are in the network. This is accomplished by each node sending to "all nodes" the topology about itself (i.e., an update message). This also includes iterative forwarding of each node's "topology row" throughout the network. Redundant traffic is avoided by each interim node forwarding the information only when it differs from the contents of its topology table. If the row contents match, meaning the message has been seen before, the message is discarded. At the end of this phase, the node's topology table contains an entry for each node in the network and each node's topology table is identical. PA1 3. Adjusting--This phase occurs when changes are detected about nodes or links between nodes and enables a calculation to build the individual nodes'routing and topology tables.
While the Liang et al. procedure and system enables overall system topology to be determined, it does not include an easy method for determining preferred versus non-preferred routes between connected nodes. More specifically, a topology discovery method and system should have an ability to determine a shortest path between nodes without being required to enter a calculation phase, after all nodal path responses have been received.
Accordingly, it is an object of this invention to provide an improved method and apparatus for determining the topology of a multi-nodal system.
It is a further object of this invention to provide an improved system and method for discovery of a multi-nodal system topology which enables preferred routes to be discovered and discriminated vis a vis non-preferred routes.